Project Properties
The Project Properties provide various settings which are configurable at the project level. To display the Project Properties, click on the root node in the App Studio Forms or Data Sources Docking Panes or right-click on white space in either Pane and then choose Project Properties from the context menu displayed. The Properties will be displayed in the Properties Pane:
Name, File Name and File Location
These Properties are read-only and cannot be changed. They are provided for information purposes only.
They show you the current project's name (Name), the name of the project file (File Name) and the folder in which the project file is stored (File Location).
Specifies the project's version number.
You can increment a project's version number as part of the publishing process, but you can also change the version number manually here if you want, or need, to, especially if you want to reduce the version number. For example, during development you might want to reset the version back to 1 before you publish the first version to be released to users.
Created By, Product Version and Product Description
These Properties display values for information purposes and can't be changed. The Created By Property tells you which version of App Studio was used to create the Project, which may be useful when upgrading. The other two Properties can be ignored.
This Property is only relevant to the Windows Desktop Platform.
It allows you to provide a bespoke icon to be used for a Standalone App version of this project. If you specify an icon here, that icon will be displayed as the app's icon or tile on your devices' Home screens, Start Menus or equivalent.
The file you specify here must have a '.ico' file extension.
If you don't specify an icon here, the following default icon will be used instead: .
This Property is only relevant when creating a Standalone App for the Apple Platform, which includes more than one Model designated as a 'User' Model.
This Property allows you to provide an image to be displayed, at runtime, alongside the app's name in the app's Application list on the app's Home screen.
We recommend using a '.png' file, but you may be able to use a '.gif', '.jpg' or a '.bmp' instead.
Debug Level
This Property allows you to turn the ability to access the runtime debugging facility on and off for this project. Runtime debugging provides a diagnostic tool which allows you to step through a Script, line by line, on a device to help diagnose and identify problems.
In order to use runtime debugging, it must first be enabled within the app here in the Project Properties. If an app has this facility enabled within it, at runtime you can turn it on and off within the Digitise Apps Client if and when you need it.
To enable the facility, set this Property to Diagnostic (High). To disable the facility within the app, select None. You can ignore the other settings as these are no longer used.
Default value: None
OnLoad, OnExit, OnSystemNotification, OnPenEvent,
OnAsyncCompletion, OnTimer and OnLocationChange
These Properties allow you to assign Scripts to the application-level Events.
The OnPenEvent can be ignored as this only works on BlackBerry devices and is no longer supported.
Interval
Each app has a Global Timer which can be run automatically throughout the app and trigger an OnTimer Event at a specified time interval. This allows you to perform a series of actions at regular intervals throughout the running of the app without needing to add a Timer Control to individual forms. When the Global OnTimer Event is triggered any Script assigned to the Event will run.
This property allows you to set the time interval, in milliseconds, at which the timer should trigger the OnTimer Event. If you specify a value of 0 the timer will be disabled. A value greater than 0 will enable the timer and trigger the OnTimer Event at your specified interval.
There is only one Global Timer per app, but an app launched from within another app will have its own independent Global Timer which runs concurrently with that of the calling app.
- You should use the Global Timer cautiously so as not to adversely affect the performance of your App Server or app.
You can also enable and disable the Timer and change the time interval from within a Script using the SetGlobalTimerInterval Method.
Default value: 0
Overwrite Server Settings (Default)
This Property allows you to determine whether Data Source Properties should be overwritten within App Manager when you publish an app.
When you develop your app in App Studio, you have to specify various Properties for each Data Source you create, such as connection details and access credentials. If after publishing an app you want, or need, to change these details, e.g. if the Data Source is moved to a new PC or you want to swap temporarily between test and live versions of a Data Source, you can specify the new details in App Manager rather than have to edit and republish your app. At runtime, any values specified in App Manager will overwrite the values specified within the app.
If you then republish the app, however, by default, the values in the app will overwrite those in App Manager, which will cause you to lose changes you made within App Manager since the last publish.
This Property allows you to determine whether the App Manager values should be overwritten when you republish your app.
By default, this Property is set to True, which means that App Manager values will be overwritten when publishing a new version. If you want to prevent this, set this Property to False to leave the current values untouched.
The value specified here provides a default value for this behaviour but you can change the default for individual Data Sources if you want to. Each Data Source has its own Overwrite Server Settings Property which can be set to use the default value taken from the Project Properties or to a specific value for that Data Source.
For more information see Add an ADO Database Data Source, Add a Web API Data Source, Add a Restful Web Service Data Source, Add a SOAP Web Service Data Source, Add an awi Web Service Data Source and App Manager - The Application Category.
Default value: True
Auto Scaling allows you to specify how forms should be scaled up if run on a device which has a screen size larger than that the form was developed for. This feature can save you from having to design a form for every device size and from needing to know every potential device size before you can develop your app.
Default values:
Windows Platform - Custom
Android Platform - Upscale
Apple Platform - Centre
BlackBerry Platform - you can ignore this option as Blackberry devices are no longer supported.
BlackBerry Font Increment
This option is no longer used and can be ignored.
Android Font Increment
This Property is only relevant to the Android Platform and allows you to increase the size at which text is displayed on Android devices. For example, suppose you are creating an app to run on both Windows and Android devices, but you need to display bigger text on your Android devices than on your Windows devices. This Property allows you to specify a number of Point sizes so that all text on the Android devices will be enlarged by this number of points, thus saving you from having to create two different versions of each style to allow for different font sizes on the two device types. If the option is set to 3 and a style has a font size of 9, on a Windows device the font will be drawn at a size of 9 points and on an Android device at a size of 12 (9+3) Points.
The App Studio Settings include the option Default Android Font Increment, which provides a default value for this feature but you can change this system default value for this Project by specifying a different value here in the Project Properties. Note that this value is only imported into a Project when the Project is created; changing the default value in the App Studio Settings later will not affect any existing Projects.
Default value: 1
Always Rotate
This Property allows you to prevent a Digitise app changing screen orientation when the device is rotated.
If set to True, when the device is rotated the app will change the screen orientation whether you have specified an exact screen resolution for the new orientation or not. By default, the Property is set to False which causes the app to only display screen orientations specifically defined within the Project's Target Platforms. If you have only specified Portrait screen resolution(s), the application will not attempt to display the screen in Landscape mode when the device is turned on its side and likewise, if you have only specified Landscape screen resolutions it will not display in Portrait mode.
Note that if Always Rotate is set to False, the OnSize Event will not be triggered when the device is physically rotated.
This Property is only supported on the Android and Windows Universal Platforms; on the Apple and Windows Desktop Platforms it is always set to True.
Default value: False
This Property determines whether matching strings should use a case-sensitive match or not. If set to True, the affected matches will be case-sensitive. If False it will be case insensitive.
This property affects string matches in such cases as:
If FirstName = "AnN"
and when using the Scripting Methods Instr and InStrRev.
Default value: True
Floating Point Division
This Property determines the behaviour of the division operator '/'.
Default value: True
This Property determines whether Null values can be entered into columns in a locally-held table without checking whether the associated remote database allows a Null value in its equivalent column or not. It affects the behaviour of the SelectLocal, SetCurrentRecordValue, SetRecordValue and UpdateCurrentRecord Scripting Methods.
Default value: True
This Property determines whether variables can contain Null values or not and hence whether Null is a reserved word within your Scripts. Note that it also affects the operation of the Synchronise Scripting Method. Set to True if you want to allow Null values in variables.
Default value: True
Use Cross-Platform Date Functions
This Property is provided for backwards compatibility where you are editing Projects which use date and time Scripting Methods and were created in a version of Digitise Apps' predecessor MX, prior to MX v10.
Default value: True
iOS 8 Reduced Caption Bar Height
This Property is only relevant to the Apple Platform. It allows you to adjust the size of landscape-orientated form resolutions under the Apple Platform to allow for the reduced height of the Caption Bar on iPhones running iOS 9 or above.
If set to True, landscape forms under the Apple Platform will be resized automatically within the Workspace to take account of the Caption Bar size under iOS 9 or later. If set to False, landscape Apple forms will not take this into account when being drawn in the Workspace.
Default value: False
This Property is provided for backwards compatibility for error handling when editing Projects originally created using Digitise Apps' predecessor MX, in a version of MX prior to v10.3.
MX v10.3 introduced new error handling functionality which can be used if this Property is set to True. If set to False, error handling will work as it did prior to MX v10.3.
Default value: True
Allow Control Grouping
This Property affects the behaviour of Panel and Radio Button Controls and determines whether a Panel is used only to group Radio Buttons or influences the repositioning of Controls when upscaling a form at runtime.
Default value: True
Android Combo Box Display Mode
This Property is only relevant to the Android Platform.
It determines whether a Droplist Combo Box has a transparent or grey background at runtime.
If set to Transparent, the background of Droplist Combo Boxes will be transparent, i.e. the background colour of the form or other Controls behind the Combo Box will show through the Combo Box. If set to Grey, the Combo Box will have an opaque grey background colour instead.
Default value: Transparent
Enable SQL Identify updates on Sync
This Property affects uploading data from a Digitise app where a data table has a Primary Key column with a data type of int and its Identity Property set to True. When a record for such a table is created on a mobile device, Digitise Apps will assign a value to the identity field for that record. However, if the record is uploaded to the back office and updates the back-office data, the back-office database will replace the Digitise Apps' assigned identity values with its own values since the values must be unique within its database.
In apps created using Digitise Apps' predecessor MX, where the version of MX was earlier than MX - 2020 Vision Edition, in order to update the local table(s) on the device with the new identity values assigned by the remote database, after uploading data to a remote data source, MX would need to re-download the data source, extract the modified identity values and update the Primary Key fields in the relevant database table(s) on the device, so that the key values in the device's local database would match those in the remote data source.
The Enable SQL Identify updates on Sync Property allows you to instruct Digitise Apps to obtain the new identity values directly from the remote database without having to re-download the entire data source. The extracted values will then be used to update relevant Primary Key fields in the local database on the device.
By default, for new Projects (or when upgrading Projects created using MX - 2020 Vision Edition) this Property is set to True, which means Digitise Apps will extract new identity values directly from the remote database and update relevant identity values in its local tables after an upload to the remote data source.
When upgrading Projects created in a version of MX earlier than MX - 2020 Vision Edition, the Property will be set to False, which means that the data source will have to be re-downloaded after an upload in order to update identity values in the local database.
The Property is only relevant when using the Synchronise Scripting Method and, when set to True, means Synchronise won't upload and then immediately download affected data sources – i.e. you only need to specify the Data Sources to be 'synched' in the Synchronise up parameter or the Sync Direction Property can be set to Up, providing the only reason the data source would need to be re-downloaded is to update identity values in the local database.
If a data table has an identity Primary Key, which is referenced in a Foreign Key field in another data table, and you want the Foreign Key values to be automatically updated in the related table both remotely and on the device, you will need to upload and download both tables, even if Enable SQL Identify updates on Sync is set to True, i.e. you will need to specify the tables you want to sync in both the Synchronise up and down parameters or the Sync Direction Property for each table will need to be set to Both, if you don't specify the tables explicitly. Otherwise, if you want your local table's Foreign Key fields to reflect the new Primary Key values in the remote database, you will have to manually update the Foreign Key values in the local database using a Script.
Default value: True